import pandas as pd
import numpy as np
import plotly.express as px
import plotly.graph_objects as go
df=pd.read_csv(r"F:\Indian Agriculture Dataset\ICRISAT.csv")
df
| Dist Code | Year | State Code | State Name | Dist Name | RICE AREA (1000 ha) | RICE PRODUCTION (1000 tons) | RICE YIELD (Kg per ha) | WHEAT AREA (1000 ha) | WHEAT PRODUCTION (1000 tons) | ... | SUGARCANE YIELD (Kg per ha) | COTTON AREA (1000 ha) | COTTON PRODUCTION (1000 tons) | COTTON YIELD (Kg per ha) | FRUITS AREA (1000 ha) | VEGETABLES AREA (1000 ha) | FRUITS AND VEGETABLES AREA (1000 ha) | POTATOES AREA (1000 ha) | ONION AREA (1000 ha) | FODDER AREA (1000 ha) | |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 0 | 1 | 1966 | 14 | Chhattisgarh | Durg | 548.00 | 185.00 | 337.59 | 44.00 | 20.00 | ... | 1777.78 | 0.0 | 0.0 | 0.0 | 5.95 | 6.64 | 12.59 | 0.01 | 0.60 | 0.47 |
| 1 | 1 | 1967 | 14 | Chhattisgarh | Durg | 547.00 | 409.00 | 747.71 | 50.00 | 26.00 | ... | 1500.00 | 0.0 | 0.0 | 0.0 | 5.77 | 7.24 | 13.02 | 0.01 | 0.56 | 1.23 |
| 2 | 1 | 1968 | 14 | Chhattisgarh | Durg | 556.30 | 468.00 | 841.27 | 53.70 | 30.00 | ... | 1000.00 | 0.0 | 0.0 | 0.0 | 5.41 | 7.40 | 12.81 | 0.10 | 0.58 | 1.02 |
| 3 | 1 | 1969 | 14 | Chhattisgarh | Durg | 563.40 | 400.80 | 711.40 | 49.40 | 26.50 | ... | 1900.00 | 0.0 | 0.0 | 0.0 | 5.52 | 7.16 | 12.69 | 0.01 | 0.56 | 0.84 |
| 4 | 1 | 1970 | 14 | Chhattisgarh | Durg | 571.60 | 473.60 | 828.55 | 44.20 | 29.00 | ... | 2000.00 | 0.0 | 0.0 | 0.0 | 5.45 | 7.19 | 12.64 | 0.02 | 0.52 | 0.42 |
| ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... |
| 16141 | 917 | 2013 | 15 | Jharkhand | Singhbhum | 267.06 | 579.70 | 2170.67 | 1.53 | 1.85 | ... | 0.00 | 0.0 | 0.0 | 0.0 | 0.00 | 9.02 | 9.03 | 0.48 | 0.08 | 0.00 |
| 16142 | 917 | 2014 | 15 | Jharkhand | Singhbhum | 256.33 | 586.63 | 2288.57 | 5.36 | 6.65 | ... | 0.00 | 0.0 | 0.0 | 0.0 | 0.00 | 8.63 | 8.64 | 0.46 | 0.04 | 0.00 |
| 16143 | 917 | 2015 | 15 | Jharkhand | Singhbhum | 263.21 | 264.71 | 1005.70 | 1.99 | 1.82 | ... | 0.00 | 0.0 | 0.0 | 0.0 | 0.00 | 6.84 | 6.85 | 0.42 | 0.01 | 0.00 |
| 16144 | 917 | 2016 | 15 | Jharkhand | Singhbhum | 224.05 | 319.01 | 1423.84 | 0.38 | 0.83 | ... | 0.00 | 0.0 | 0.0 | 0.0 | 0.03 | 6.40 | 6.43 | 0.03 | 0.01 | 0.00 |
| 16145 | 917 | 2017 | 15 | Jharkhand | Singhbhum | 386.91 | 669.97 | 1731.62 | 0.00 | 0.00 | ... | 0.00 | 0.0 | 0.0 | 0.0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 |
16146 rows × 80 columns
df.columns
Index(['Dist Code', 'Year', 'State Code', 'State Name', 'Dist Name',
'RICE AREA (1000 ha)', 'RICE PRODUCTION (1000 tons)',
'RICE YIELD (Kg per ha)', 'WHEAT AREA (1000 ha)',
'WHEAT PRODUCTION (1000 tons)', 'WHEAT YIELD (Kg per ha)',
'KHARIF SORGHUM AREA (1000 ha)',
'KHARIF SORGHUM PRODUCTION (1000 tons)',
'KHARIF SORGHUM YIELD (Kg per ha)', 'RABI SORGHUM AREA (1000 ha)',
'RABI SORGHUM PRODUCTION (1000 tons)', 'RABI SORGHUM YIELD (Kg per ha)',
'SORGHUM AREA (1000 ha)', 'SORGHUM PRODUCTION (1000 tons)',
'SORGHUM YIELD (Kg per ha)', 'PEARL MILLET AREA (1000 ha)',
'PEARL MILLET PRODUCTION (1000 tons)', 'PEARL MILLET YIELD (Kg per ha)',
'MAIZE AREA (1000 ha)', 'MAIZE PRODUCTION (1000 tons)',
'MAIZE YIELD (Kg per ha)', 'FINGER MILLET AREA (1000 ha)',
'FINGER MILLET PRODUCTION (1000 tons)',
'FINGER MILLET YIELD (Kg per ha)', 'BARLEY AREA (1000 ha)',
'BARLEY PRODUCTION (1000 tons)', 'BARLEY YIELD (Kg per ha)',
'CHICKPEA AREA (1000 ha)', 'CHICKPEA PRODUCTION (1000 tons)',
'CHICKPEA YIELD (Kg per ha)', 'PIGEONPEA AREA (1000 ha)',
'PIGEONPEA PRODUCTION (1000 tons)', 'PIGEONPEA YIELD (Kg per ha)',
'MINOR PULSES AREA (1000 ha)', 'MINOR PULSES PRODUCTION (1000 tons)',
'MINOR PULSES YIELD (Kg per ha)', 'GROUNDNUT AREA (1000 ha)',
'GROUNDNUT PRODUCTION (1000 tons)', 'GROUNDNUT YIELD (Kg per ha)',
'SESAMUM AREA (1000 ha)', 'SESAMUM PRODUCTION (1000 tons)',
'SESAMUM YIELD (Kg per ha)', 'RAPESEED AND MUSTARD AREA (1000 ha)',
'RAPESEED AND MUSTARD PRODUCTION (1000 tons)',
'RAPESEED AND MUSTARD YIELD (Kg per ha)', 'SAFFLOWER AREA (1000 ha)',
'SAFFLOWER PRODUCTION (1000 tons)', 'SAFFLOWER YIELD (Kg per ha)',
'CASTOR AREA (1000 ha)', 'CASTOR PRODUCTION (1000 tons)',
'CASTOR YIELD (Kg per ha)', 'LINSEED AREA (1000 ha)',
'LINSEED PRODUCTION (1000 tons)', 'LINSEED YIELD (Kg per ha)',
'SUNFLOWER AREA (1000 ha)', 'SUNFLOWER PRODUCTION (1000 tons)',
'SUNFLOWER YIELD (Kg per ha)', 'SOYABEAN AREA (1000 ha)',
'SOYABEAN PRODUCTION (1000 tons)', 'SOYABEAN YIELD (Kg per ha)',
'OILSEEDS AREA (1000 ha)', 'OILSEEDS PRODUCTION (1000 tons)',
'OILSEEDS YIELD (Kg per ha)', 'SUGARCANE AREA (1000 ha)',
'SUGARCANE PRODUCTION (1000 tons)', 'SUGARCANE YIELD (Kg per ha)',
'COTTON AREA (1000 ha)', 'COTTON PRODUCTION (1000 tons)',
'COTTON YIELD (Kg per ha)', 'FRUITS AREA (1000 ha)',
'VEGETABLES AREA (1000 ha)', 'FRUITS AND VEGETABLES AREA (1000 ha)',
'POTATOES AREA (1000 ha)', 'ONION AREA (1000 ha)',
'FODDER AREA (1000 ha)'],
dtype='object')
with pd.option_context('display.max_rows', None):
print(df.isnull().sum())
Dist Code 0 Year 0 State Code 0 State Name 0 Dist Name 0 RICE AREA (1000 ha) 0 RICE PRODUCTION (1000 tons) 0 RICE YIELD (Kg per ha) 0 WHEAT AREA (1000 ha) 0 WHEAT PRODUCTION (1000 tons) 0 WHEAT YIELD (Kg per ha) 0 KHARIF SORGHUM AREA (1000 ha) 0 KHARIF SORGHUM PRODUCTION (1000 tons) 0 KHARIF SORGHUM YIELD (Kg per ha) 0 RABI SORGHUM AREA (1000 ha) 0 RABI SORGHUM PRODUCTION (1000 tons) 0 RABI SORGHUM YIELD (Kg per ha) 0 SORGHUM AREA (1000 ha) 0 SORGHUM PRODUCTION (1000 tons) 0 SORGHUM YIELD (Kg per ha) 0 PEARL MILLET AREA (1000 ha) 0 PEARL MILLET PRODUCTION (1000 tons) 0 PEARL MILLET YIELD (Kg per ha) 0 MAIZE AREA (1000 ha) 0 MAIZE PRODUCTION (1000 tons) 0 MAIZE YIELD (Kg per ha) 0 FINGER MILLET AREA (1000 ha) 0 FINGER MILLET PRODUCTION (1000 tons) 0 FINGER MILLET YIELD (Kg per ha) 0 BARLEY AREA (1000 ha) 0 BARLEY PRODUCTION (1000 tons) 0 BARLEY YIELD (Kg per ha) 0 CHICKPEA AREA (1000 ha) 0 CHICKPEA PRODUCTION (1000 tons) 0 CHICKPEA YIELD (Kg per ha) 0 PIGEONPEA AREA (1000 ha) 0 PIGEONPEA PRODUCTION (1000 tons) 0 PIGEONPEA YIELD (Kg per ha) 0 MINOR PULSES AREA (1000 ha) 0 MINOR PULSES PRODUCTION (1000 tons) 0 MINOR PULSES YIELD (Kg per ha) 0 GROUNDNUT AREA (1000 ha) 0 GROUNDNUT PRODUCTION (1000 tons) 0 GROUNDNUT YIELD (Kg per ha) 0 SESAMUM AREA (1000 ha) 0 SESAMUM PRODUCTION (1000 tons) 0 SESAMUM YIELD (Kg per ha) 0 RAPESEED AND MUSTARD AREA (1000 ha) 0 RAPESEED AND MUSTARD PRODUCTION (1000 tons) 0 RAPESEED AND MUSTARD YIELD (Kg per ha) 0 SAFFLOWER AREA (1000 ha) 0 SAFFLOWER PRODUCTION (1000 tons) 0 SAFFLOWER YIELD (Kg per ha) 0 CASTOR AREA (1000 ha) 0 CASTOR PRODUCTION (1000 tons) 0 CASTOR YIELD (Kg per ha) 0 LINSEED AREA (1000 ha) 0 LINSEED PRODUCTION (1000 tons) 0 LINSEED YIELD (Kg per ha) 0 SUNFLOWER AREA (1000 ha) 0 SUNFLOWER PRODUCTION (1000 tons) 0 SUNFLOWER YIELD (Kg per ha) 0 SOYABEAN AREA (1000 ha) 0 SOYABEAN PRODUCTION (1000 tons) 0 SOYABEAN YIELD (Kg per ha) 0 OILSEEDS AREA (1000 ha) 0 OILSEEDS PRODUCTION (1000 tons) 0 OILSEEDS YIELD (Kg per ha) 0 SUGARCANE AREA (1000 ha) 0 SUGARCANE PRODUCTION (1000 tons) 0 SUGARCANE YIELD (Kg per ha) 0 COTTON AREA (1000 ha) 0 COTTON PRODUCTION (1000 tons) 0 COTTON YIELD (Kg per ha) 0 FRUITS AREA (1000 ha) 0 VEGETABLES AREA (1000 ha) 0 FRUITS AND VEGETABLES AREA (1000 ha) 0 POTATOES AREA (1000 ha) 0 ONION AREA (1000 ha) 0 FODDER AREA (1000 ha) 0 dtype: int64
df.duplicated().sum()
0
df['Year'].unique()
array([1966, 1967, 1968, 1969, 1970, 1971, 1972, 1973, 1974, 1975, 1976,
1977, 1978, 1979, 1980, 1981, 1982, 1983, 1984, 1985, 1986, 1987,
1988, 1989, 1990, 1991, 1992, 1993, 1994, 1995, 1996, 1997, 1998,
1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009,
2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017], dtype=int64)
rice_state=df.groupby('State Name',as_index=False)['RICE PRODUCTION (1000 tons)'].sum().sort_values(by='RICE PRODUCTION (1000 tons)',ascending=False).reset_index(drop='index')
rice_state
| State Name | RICE PRODUCTION (1000 tons) | |
|---|---|---|
| 0 | West Bengal | 544232.26 |
| 1 | Uttar Pradesh | 445597.62 |
| 2 | Punjab | 335040.10 |
| 3 | Andhra Pradesh | 315185.40 |
| 4 | Tamil Nadu | 291201.51 |
| 5 | Orissa | 282532.93 |
| 6 | Bihar | 231759.00 |
| 7 | Chhattisgarh | 208208.22 |
| 8 | Assam | 165205.95 |
| 9 | Telangana | 152911.74 |
| 10 | Karnataka | 146921.56 |
| 11 | Maharashtra | 116528.76 |
| 12 | Haryana | 107664.90 |
| 13 | Jharkhand | 76435.78 |
| 14 | Madhya Pradesh | 76342.20 |
| 15 | Kerala | 49567.07 |
| 16 | Gujarat | 48713.35 |
| 17 | Uttarakhand | 22124.13 |
| 18 | Rajasthan | 9468.42 |
| 19 | Himachal Pradesh | 5426.01 |
rice_state_d=rice_state.head(10)
fig=px.bar(rice_state_d,x="State Name",y="RICE PRODUCTION (1000 tons)",
title="STATE AND RICE PRODUCTION (1996-2017)",
labels={"State Name":"State Name","RICE PRODUCTION (1000 tons)":"RICE PRODUCTION"},
color="State Name",
height=500,
width=600
)
fig.update_layout(showlegend=False, title_x=0.5,template="simple_white")
fig.show()
rice_dist_wb=df[df['State Name']== 'West Bengal']
rice_dist_wb_data=rice_dist_wb.groupby('Dist Name',as_index=False)['RICE PRODUCTION (1000 tons)'].sum().sort_values(by='RICE PRODUCTION (1000 tons)',ascending=False).reset_index(drop='index')
rice_dist_wb_data
| Dist Name | RICE PRODUCTION (1000 tons) | |
|---|---|---|
| 0 | Midnapur | 98868.28 |
| 1 | Burdwan | 71422.15 |
| 2 | 24 Parganas | 63011.99 |
| 3 | Birbhum | 42213.81 |
| 4 | Bankura | 40165.20 |
| 5 | Murshidabad | 37261.24 |
| 6 | West Dinajpur | 35224.87 |
| 7 | Hooghly | 30962.21 |
| 8 | Nadia | 28016.30 |
| 9 | Purulia | 23147.50 |
| 10 | Malda | 22497.83 |
| 11 | Cooch Behar | 20949.15 |
| 12 | Jalpaiguri | 17372.00 |
| 13 | Howrah | 10264.53 |
| 14 | Darjeeling | 2855.20 |
rice_dist_wb_data=rice_dist_wb_data.head(10)
fig=px.bar(rice_dist_wb_data,x="Dist Name",y="RICE PRODUCTION (1000 tons)",
title="WB DISTRICT AND RICE PRODUCTION (1996-2017)",
labels={"Dist Name":"Distrcit","RICE PRODUCTION (1000 tons)":"RICE PRODUCTION"},
color="Dist Name",
height=500,
width=600
)
fig.update_layout(showlegend=False, title_x=0.5,template="simple_white")
fig.show()
df_filtered=df[['State Name','Year','RICE PRODUCTION (1000 tons)']]
df_filtered_data=df_filtered.groupby(['State Name','Year'],as_index=False)['RICE PRODUCTION (1000 tons)'].sum().sort_values(by=['State Name','Year'],ascending=False).reset_index(drop='index')
df_filtered_data
| State Name | Year | RICE PRODUCTION (1000 tons) | |
|---|---|---|---|
| 0 | West Bengal | 2017 | 15658.94 |
| 1 | West Bengal | 2016 | 15106.32 |
| 2 | West Bengal | 2015 | 15948.26 |
| 3 | West Bengal | 2014 | 15927.20 |
| 4 | West Bengal | 2013 | 15376.88 |
| ... | ... | ... | ... |
| 1033 | Andhra Pradesh | 1970 | 3434.70 |
| 1034 | Andhra Pradesh | 1969 | 3085.60 |
| 1035 | Andhra Pradesh | 1968 | 2754.00 |
| 1036 | Andhra Pradesh | 1967 | 3323.00 |
| 1037 | Andhra Pradesh | 1966 | 3214.00 |
1038 rows × 3 columns
unique_state=df_filtered_data['State Name'].unique()[:10]
filtered_data=df_filtered_data[df_filtered_data['State Name'].isin(unique_state)]
filtered_data
| State Name | Year | RICE PRODUCTION (1000 tons) | |
|---|---|---|---|
| 0 | West Bengal | 2017 | 15658.94 |
| 1 | West Bengal | 2016 | 15106.32 |
| 2 | West Bengal | 2015 | 15948.26 |
| 3 | West Bengal | 2014 | 15927.20 |
| 4 | West Bengal | 2013 | 15376.88 |
| ... | ... | ... | ... |
| 515 | Madhya Pradesh | 1970 | 945.40 |
| 516 | Madhya Pradesh | 1969 | 921.20 |
| 517 | Madhya Pradesh | 1968 | 668.60 |
| 518 | Madhya Pradesh | 1967 | 829.40 |
| 519 | Madhya Pradesh | 1966 | 374.20 |
520 rows × 3 columns
fig=px.line(
filtered_data,
x='Year',
y='RICE PRODUCTION (1000 tons)',
title='RICE PRODUCTION PER YEAR',
markers=True,
color='State Name',
labels={'Year':'Year','RICE PRODUCTION (1000 tons)':'RICE PRODUCTION'},
height=800,
width=1100
)
fig.update_layout(
template='plotly_white'
)
fig.show()
rice_state_yield=df.groupby('State Name',as_index=False)['RICE YIELD (Kg per ha)'].sum().sort_values(by='RICE YIELD (Kg per ha)',ascending=False).reset_index(drop='index')
rice_state_yield=rice_state_yield.head(10)
rice_state_yield
| State Name | RICE YIELD (Kg per ha) | |
|---|---|---|
| 0 | Uttar Pradesh | 3767642.74 |
| 1 | Karnataka | 2125721.28 |
| 2 | Punjab | 1773440.44 |
| 3 | Tamil Nadu | 1755871.99 |
| 4 | Madhya Pradesh | 1575672.54 |
| 5 | Maharashtra | 1463057.73 |
| 6 | West Bengal | 1443769.07 |
| 7 | Andhra Pradesh | 1337079.18 |
| 8 | Telangana | 1020098.92 |
| 9 | Kerala | 995867.63 |
fig=px.bar(rice_state_yield,x="State Name",y="RICE YIELD (Kg per ha)",
title="STATE AND RICE YIELD(1996-2017)",
labels={"State Name":"State","RICE YIELD (Kg per ha)":"RICE YIELD"},
color="RICE YIELD (Kg per ha)",
color_continuous_scale='turbo',
height=500,
width=600
)
fig.update_layout( title_x=0.5,template="simple_white")
fig.update_coloraxes(showscale=False) # Hides the color bar
fig.show()
rice_state_new=rice_state
rice_state_new
| State Name | RICE PRODUCTION (1000 tons) | |
|---|---|---|
| 0 | West Bengal | 544232.26 |
| 1 | Uttar Pradesh | 445597.62 |
| 2 | Punjab | 335040.10 |
| 3 | Andhra Pradesh | 315185.40 |
| 4 | Tamil Nadu | 291201.51 |
| 5 | Orissa | 282532.93 |
| 6 | Bihar | 231759.00 |
| 7 | Chhattisgarh | 208208.22 |
| 8 | Assam | 165205.95 |
| 9 | Telangana | 152911.74 |
| 10 | Karnataka | 146921.56 |
| 11 | Maharashtra | 116528.76 |
| 12 | Haryana | 107664.90 |
| 13 | Jharkhand | 76435.78 |
| 14 | Madhya Pradesh | 76342.20 |
| 15 | Kerala | 49567.07 |
| 16 | Gujarat | 48713.35 |
| 17 | Uttarakhand | 22124.13 |
| 18 | Rajasthan | 9468.42 |
| 19 | Himachal Pradesh | 5426.01 |
marge_table=pd.merge(rice_state_yield,rice_state_new,on='State Name',how='left')
marge_table
| State Name | RICE YIELD (Kg per ha) | RICE PRODUCTION (1000 tons) | |
|---|---|---|---|
| 0 | Uttar Pradesh | 3767642.74 | 445597.62 |
| 1 | Karnataka | 2125721.28 | 146921.56 |
| 2 | Punjab | 1773440.44 | 335040.10 |
| 3 | Tamil Nadu | 1755871.99 | 291201.51 |
| 4 | Madhya Pradesh | 1575672.54 | 76342.20 |
| 5 | Maharashtra | 1463057.73 | 116528.76 |
| 6 | West Bengal | 1443769.07 | 544232.26 |
| 7 | Andhra Pradesh | 1337079.18 | 315185.40 |
| 8 | Telangana | 1020098.92 | 152911.74 |
| 9 | Kerala | 995867.63 | 49567.07 |
marge_table_data=marge_table.melt(id_vars='State Name',var_name='Metric',value_name='Count')
marge_table_data
| State Name | Metric | Count | |
|---|---|---|---|
| 0 | Uttar Pradesh | RICE YIELD (Kg per ha) | 3767642.74 |
| 1 | Karnataka | RICE YIELD (Kg per ha) | 2125721.28 |
| 2 | Punjab | RICE YIELD (Kg per ha) | 1773440.44 |
| 3 | Tamil Nadu | RICE YIELD (Kg per ha) | 1755871.99 |
| 4 | Madhya Pradesh | RICE YIELD (Kg per ha) | 1575672.54 |
| 5 | Maharashtra | RICE YIELD (Kg per ha) | 1463057.73 |
| 6 | West Bengal | RICE YIELD (Kg per ha) | 1443769.07 |
| 7 | Andhra Pradesh | RICE YIELD (Kg per ha) | 1337079.18 |
| 8 | Telangana | RICE YIELD (Kg per ha) | 1020098.92 |
| 9 | Kerala | RICE YIELD (Kg per ha) | 995867.63 |
| 10 | Uttar Pradesh | RICE PRODUCTION (1000 tons) | 445597.62 |
| 11 | Karnataka | RICE PRODUCTION (1000 tons) | 146921.56 |
| 12 | Punjab | RICE PRODUCTION (1000 tons) | 335040.10 |
| 13 | Tamil Nadu | RICE PRODUCTION (1000 tons) | 291201.51 |
| 14 | Madhya Pradesh | RICE PRODUCTION (1000 tons) | 76342.20 |
| 15 | Maharashtra | RICE PRODUCTION (1000 tons) | 116528.76 |
| 16 | West Bengal | RICE PRODUCTION (1000 tons) | 544232.26 |
| 17 | Andhra Pradesh | RICE PRODUCTION (1000 tons) | 315185.40 |
| 18 | Telangana | RICE PRODUCTION (1000 tons) | 152911.74 |
| 19 | Kerala | RICE PRODUCTION (1000 tons) | 49567.07 |
fig=px.bar(
marge_table_data,
x='State Name',
y='Count',
color='Metric',
barmode='group',
width=900,
height=400,
color_discrete_sequence=['#FF4500', '#228B22']
)
fig.update_layout(title="PRODUCTION VS YIELD",
title_x=0.2
)
fig.show()
wheat_state=df.groupby('State Name',as_index=False)['WHEAT PRODUCTION (1000 tons)'].sum().sort_values(by='WHEAT PRODUCTION (1000 tons)',ascending=False).reset_index(drop='index')
wheat_state
| State Name | WHEAT PRODUCTION (1000 tons) | |
|---|---|---|
| 0 | Uttar Pradesh | 970210.07 |
| 1 | Punjab | 593848.90 |
| 2 | Haryana | 348429.60 |
| 3 | Madhya Pradesh | 338644.25 |
| 4 | Rajasthan | 265994.99 |
| 5 | Bihar | 176250.30 |
| 6 | Gujarat | 85537.63 |
| 7 | Maharashtra | 54003.95 |
| 8 | West Bengal | 32703.86 |
| 9 | Uttarakhand | 25995.57 |
| 10 | Himachal Pradesh | 22120.16 |
| 11 | Karnataka | 9715.78 |
| 12 | Chhattisgarh | 4438.92 |
| 13 | Jharkhand | 3922.80 |
| 14 | Assam | 3854.11 |
| 15 | Orissa | 2614.74 |
| 16 | Telangana | 427.02 |
| 17 | Andhra Pradesh | 60.46 |
| 18 | Tamil Nadu | 4.68 |
| 19 | Kerala | 0.00 |
wheat_state_d=wheat_state.head(10)
fig=px.bar(wheat_state_d,x="State Name",y="WHEAT PRODUCTION (1000 tons)",
title="STATE AND WHEAT PRODUCTION (1996-2017)",
labels={"State Name":"State Name","WHEAT PRODUCTION (1000 tons)":"WHEAT PRODUCTION"},
color="State Name",
height=500,
width=600
)
fig.update_layout(showlegend=False, title_x=0.5,template="simple_white")
fig.show()
wheat_dist_up=df[df['State Name']== 'Uttar Pradesh']
wheat_dist_up_data=wheat_dist_up.groupby('Dist Name',as_index=False)['WHEAT PRODUCTION (1000 tons)'].sum().sort_values(by='WHEAT PRODUCTION (1000 tons)',ascending=False).reset_index(drop='index')
wheat_dist_up_data
| Dist Name | WHEAT PRODUCTION (1000 tons) | |
|---|---|---|
| 0 | Meerut | 36102.24 |
| 1 | Aligarh | 35796.82 |
| 2 | Moradabad | 33259.35 |
| 3 | Buland Shahar | 33183.76 |
| 4 | Basti | 32574.10 |
| 5 | Gorakhpur | 32247.82 |
| 6 | Hardoi | 30971.49 |
| 7 | Budaun | 30110.98 |
| 8 | Shahjahanpur | 28319.10 |
| 9 | Azamgarh | 28012.58 |
| 10 | Kanpur | 25543.50 |
| 11 | Deoria | 25511.45 |
| 12 | Mathura | 24417.87 |
| 13 | Mainpuri | 24173.41 |
| 14 | Etah | 24026.80 |
| 15 | Gonda | 23177.16 |
| 16 | Allahabad | 22318.24 |
| 17 | Faizabad | 21294.55 |
| 18 | Etawah | 20816.39 |
| 19 | Agra | 20678.08 |
| 20 | Kheri | 20419.98 |
| 21 | Saharanpur | 20338.19 |
| 22 | Muzaffarnagar | 20074.58 |
| 23 | Jhansi | 19965.01 |
| 24 | Unnao | 19715.17 |
| 25 | Bahraich | 19532.08 |
| 26 | Bareilly | 19467.52 |
| 27 | Sitapur | 19410.13 |
| 28 | Jaunpur | 18686.19 |
| 29 | Farrukhabad | 18662.97 |
| 30 | Varanasi | 18087.57 |
| 31 | Barabanki | 16924.61 |
| 32 | Pilibhit | 16740.14 |
| 33 | Rampur | 16360.55 |
| 34 | Sultanpur | 15444.59 |
| 35 | Rae-Bareily | 15276.75 |
| 36 | Fatehpur | 14605.23 |
| 37 | Ghazipur | 14235.25 |
| 38 | Bijnor | 13520.87 |
| 39 | Jalaun | 13003.51 |
| 40 | Ballia | 12344.54 |
| 41 | Banda | 12338.25 |
| 42 | Hamirpur | 12330.22 |
| 43 | Pratapgarh | 12022.20 |
| 44 | Mirzpur | 10217.39 |
| 45 | Lucknow | 7950.89 |
wheat_dist_up_data=wheat_dist_up_data.head(10)
fig=px.bar(wheat_dist_up_data,x="Dist Name",y="WHEAT PRODUCTION (1000 tons)",
title="UP DISTRICT AND RICE PRODUCTION (1996-2017)",
labels={"Dist Name":"Distrcit","WHEAT PRODUCTION (1000 tons)":"WHEAT PRODUCTION"},
color="Dist Name",
height=500,
width=600
)
fig.update_layout(showlegend=False, title_x=0.5,template="simple_white")
fig.show()
df_filtered_W=df[['State Name','Year','WHEAT PRODUCTION (1000 tons)']]
df_filtered_data_W=df_filtered_W.groupby(['State Name','Year'],as_index=False)['WHEAT PRODUCTION (1000 tons)'].sum().sort_values(by=['State Name','Year'],ascending=False).reset_index(drop='index')
df_filtered_data_W
| State Name | Year | WHEAT PRODUCTION (1000 tons) | |
|---|---|---|---|
| 0 | West Bengal | 2017 | 359.13 |
| 1 | West Bengal | 2016 | 858.53 |
| 2 | West Bengal | 2015 | 788.49 |
| 3 | West Bengal | 2014 | 939.26 |
| 4 | West Bengal | 2013 | 927.86 |
| ... | ... | ... | ... |
| 1033 | Andhra Pradesh | 1970 | 2.30 |
| 1034 | Andhra Pradesh | 1969 | 0.90 |
| 1035 | Andhra Pradesh | 1968 | 1.00 |
| 1036 | Andhra Pradesh | 1967 | 0.50 |
| 1037 | Andhra Pradesh | 1966 | 0.60 |
1038 rows × 3 columns
unique_state=df_filtered_data_W['State Name'].unique()[:10]
filtered_w=df_filtered_data_W[df_filtered_data_W['State Name'].isin(unique_state)]
filtered_w
| State Name | Year | WHEAT PRODUCTION (1000 tons) | |
|---|---|---|---|
| 0 | West Bengal | 2017 | 359.13 |
| 1 | West Bengal | 2016 | 858.53 |
| 2 | West Bengal | 2015 | 788.49 |
| 3 | West Bengal | 2014 | 939.26 |
| 4 | West Bengal | 2013 | 927.86 |
| ... | ... | ... | ... |
| 515 | Madhya Pradesh | 1970 | 2534.80 |
| 516 | Madhya Pradesh | 1969 | 2250.20 |
| 517 | Madhya Pradesh | 1968 | 1953.80 |
| 518 | Madhya Pradesh | 1967 | 1835.10 |
| 519 | Madhya Pradesh | 1966 | 1001.40 |
520 rows × 3 columns
fig=px.line(
filtered_w,
x='Year',
y='WHEAT PRODUCTION (1000 tons)',
title='WHEAT PRODUCTION PER YEAR',
markers=True,
color='State Name',
labels={'Year':'Year','WHEAT PRODUCTION (1000 tons)':'WHEAT PRODUCTION'},
height=800,
width=1100
)
fig.update_layout(
template='plotly_white'
)
fig.show()
wheat_state_yield=df.groupby('State Name',as_index=False)['WHEAT YIELD (Kg per ha)'].sum().sort_values(by='WHEAT YIELD (Kg per ha)',ascending=False).reset_index(drop='index')
wheat_state_yield=wheat_state_yield.head(10)
wheat_state_yield
| State Name | WHEAT YIELD (Kg per ha) | |
|---|---|---|
| 0 | Uttar Pradesh | 5208756.43 |
| 1 | Madhya Pradesh | 2930771.89 |
| 2 | Rajasthan | 2722217.00 |
| 3 | Punjab | 2007153.14 |
| 4 | Gujarat | 1991362.26 |
| 5 | West Bengal | 1438980.99 |
| 6 | Maharashtra | 1288086.69 |
| 7 | Haryana | 1161151.95 |
| 8 | Orissa | 1054791.18 |
| 9 | Bihar | 992099.68 |
fig=px.bar(wheat_state_yield,x="State Name",y="WHEAT YIELD (Kg per ha)",
title="STATE AND WHEAT YIELD(1996-2017)",
labels={"State Name":"State","WHEAT YIELD (Kg per ha)":"WHEAT YIELD"},
color="WHEAT YIELD (Kg per ha)",
color_continuous_scale='viridis',
height=500,
width=600
)
fig.update_layout( title_x=0.5,template="simple_white")
fig.update_coloraxes(showscale=False) # Hides the color bar
fig.show()
wheat_state_new=wheat_state
wheat_state_new
| State Name | WHEAT PRODUCTION (1000 tons) | |
|---|---|---|
| 0 | Uttar Pradesh | 970210.07 |
| 1 | Punjab | 593848.90 |
| 2 | Haryana | 348429.60 |
| 3 | Madhya Pradesh | 338644.25 |
| 4 | Rajasthan | 265994.99 |
| 5 | Bihar | 176250.30 |
| 6 | Gujarat | 85537.63 |
| 7 | Maharashtra | 54003.95 |
| 8 | West Bengal | 32703.86 |
| 9 | Uttarakhand | 25995.57 |
| 10 | Himachal Pradesh | 22120.16 |
| 11 | Karnataka | 9715.78 |
| 12 | Chhattisgarh | 4438.92 |
| 13 | Jharkhand | 3922.80 |
| 14 | Assam | 3854.11 |
| 15 | Orissa | 2614.74 |
| 16 | Telangana | 427.02 |
| 17 | Andhra Pradesh | 60.46 |
| 18 | Tamil Nadu | 4.68 |
| 19 | Kerala | 0.00 |
marge_table_w=pd.merge(wheat_state_yield,wheat_state_new,on='State Name',how='left')
marge_table_w.style.background_gradient(cmap='spring')
| State Name | WHEAT YIELD (Kg per ha) | WHEAT PRODUCTION (1000 tons) | |
|---|---|---|---|
| 0 | Uttar Pradesh | 5208756.430000 | 970210.070000 |
| 1 | Madhya Pradesh | 2930771.890000 | 338644.250000 |
| 2 | Rajasthan | 2722217.000000 | 265994.990000 |
| 3 | Punjab | 2007153.140000 | 593848.900000 |
| 4 | Gujarat | 1991362.260000 | 85537.630000 |
| 5 | West Bengal | 1438980.990000 | 32703.860000 |
| 6 | Maharashtra | 1288086.690000 | 54003.950000 |
| 7 | Haryana | 1161151.950000 | 348429.600000 |
| 8 | Orissa | 1054791.180000 | 2614.740000 |
| 9 | Bihar | 992099.680000 | 176250.300000 |
marge_table_data_w=marge_table_w.melt(id_vars='State Name',var_name='Metric',value_name='Count')
marge_table_data_w
| State Name | Metric | Count | |
|---|---|---|---|
| 0 | Uttar Pradesh | WHEAT YIELD (Kg per ha) | 5208756.43 |
| 1 | Madhya Pradesh | WHEAT YIELD (Kg per ha) | 2930771.89 |
| 2 | Rajasthan | WHEAT YIELD (Kg per ha) | 2722217.00 |
| 3 | Punjab | WHEAT YIELD (Kg per ha) | 2007153.14 |
| 4 | Gujarat | WHEAT YIELD (Kg per ha) | 1991362.26 |
| 5 | West Bengal | WHEAT YIELD (Kg per ha) | 1438980.99 |
| 6 | Maharashtra | WHEAT YIELD (Kg per ha) | 1288086.69 |
| 7 | Haryana | WHEAT YIELD (Kg per ha) | 1161151.95 |
| 8 | Orissa | WHEAT YIELD (Kg per ha) | 1054791.18 |
| 9 | Bihar | WHEAT YIELD (Kg per ha) | 992099.68 |
| 10 | Uttar Pradesh | WHEAT PRODUCTION (1000 tons) | 970210.07 |
| 11 | Madhya Pradesh | WHEAT PRODUCTION (1000 tons) | 338644.25 |
| 12 | Rajasthan | WHEAT PRODUCTION (1000 tons) | 265994.99 |
| 13 | Punjab | WHEAT PRODUCTION (1000 tons) | 593848.90 |
| 14 | Gujarat | WHEAT PRODUCTION (1000 tons) | 85537.63 |
| 15 | West Bengal | WHEAT PRODUCTION (1000 tons) | 32703.86 |
| 16 | Maharashtra | WHEAT PRODUCTION (1000 tons) | 54003.95 |
| 17 | Haryana | WHEAT PRODUCTION (1000 tons) | 348429.60 |
| 18 | Orissa | WHEAT PRODUCTION (1000 tons) | 2614.74 |
| 19 | Bihar | WHEAT PRODUCTION (1000 tons) | 176250.30 |
fig=px.bar(
marge_table_data_w,
x='State Name',
y='Count',
color='Metric',
barmode='group',
width=900,
height=400,
color_discrete_sequence=['#482ff7', '#21e6c1']
)
fig.update_layout(title="PRODUCTION VS YIELD",
title_x=0.2
)
fig.show()
wb=df[df['State Name']=='West Bengal']
wb
| Dist Code | Year | State Code | State Name | Dist Name | RICE AREA (1000 ha) | RICE PRODUCTION (1000 tons) | RICE YIELD (Kg per ha) | WHEAT AREA (1000 ha) | WHEAT PRODUCTION (1000 tons) | ... | SUGARCANE YIELD (Kg per ha) | COTTON AREA (1000 ha) | COTTON PRODUCTION (1000 tons) | COTTON YIELD (Kg per ha) | FRUITS AREA (1000 ha) | VEGETABLES AREA (1000 ha) | FRUITS AND VEGETABLES AREA (1000 ha) | POTATOES AREA (1000 ha) | ONION AREA (1000 ha) | FODDER AREA (1000 ha) | |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 14500 | 800 | 1966 | 13 | West Bengal | 24 Parganas | 603.36 | 628.09 | 1040.99 | 1.16 | 1.04 | ... | 4200.00 | 0.0 | 0.0 | 0.0 | 5.26 | 26.63 | 31.89 | 3.20 | -1.0 | -1.0 |
| 14501 | 800 | 1967 | 13 | West Bengal | 24 Parganas | 618.82 | 682.16 | 1102.36 | 2.29 | 1.98 | ... | 3815.60 | 0.0 | 0.0 | 0.0 | 5.26 | 26.95 | 32.21 | 3.52 | -1.0 | -1.0 |
| 14502 | 800 | 1968 | 13 | West Bengal | 24 Parganas | 615.70 | 703.49 | 1142.59 | 3.92 | 4.86 | ... | 5021.16 | 0.0 | 0.0 | 0.0 | 29.02 | 28.61 | 57.63 | 3.00 | -1.0 | -1.0 |
| 14503 | 800 | 1969 | 13 | West Bengal | 24 Parganas | 633.20 | 672.19 | 1061.58 | 5.43 | 6.19 | ... | 5201.92 | 0.0 | 0.0 | 0.0 | 29.06 | 30.84 | 59.89 | 2.79 | -1.0 | -1.0 |
| 14504 | 800 | 1970 | 13 | West Bengal | 24 Parganas | 582.40 | 475.70 | 816.79 | 9.09 | 11.27 | ... | 4418.48 | 0.0 | 0.0 | 0.0 | 28.05 | 45.24 | 73.29 | 2.23 | -1.0 | 0.0 |
| ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... |
| 15269 | 822 | 2013 | 13 | West Bengal | West Dinajpur | 407.78 | 1069.76 | 2623.38 | 50.05 | 134.32 | ... | 13000.00 | 0.0 | 0.0 | 0.0 | 14.41 | 95.38 | 109.79 | 14.76 | 0.0 | 0.0 |
| 15270 | 822 | 2014 | 13 | West Bengal | West Dinajpur | 399.61 | 1120.63 | 2804.31 | 51.62 | 131.02 | ... | 10581.40 | 0.0 | 0.0 | 0.0 | 14.50 | 94.05 | 108.55 | 13.28 | 0.0 | 0.0 |
| 15271 | 822 | 2015 | 13 | West Bengal | West Dinajpur | 414.94 | 1195.03 | 2880.01 | 62.70 | 161.25 | ... | 9366.67 | 0.0 | 0.0 | 0.0 | 14.92 | 95.77 | 110.70 | 14.86 | 0.0 | 0.0 |
| 15272 | 822 | 2016 | 13 | West Bengal | West Dinajpur | 402.75 | 1141.76 | 2834.93 | 58.24 | 149.62 | ... | 8441.01 | 0.0 | 0.0 | 0.0 | 15.53 | 95.91 | 111.43 | 14.65 | 0.0 | 0.0 |
| 15273 | 822 | 2017 | 13 | West Bengal | West Dinajpur | 417.97 | 1082.16 | 2589.08 | 44.44 | 149.23 | ... | 9167.84 | 0.0 | 0.0 | 0.0 | 16.08 | 97.69 | 113.77 | 16.56 | 0.0 | 0.0 |
774 rows × 80 columns
production_column=[col for col in wb.columns if 'PRODUCTION' in col]
district_column=wb.groupby('Dist Name',as_index=False)[production_column].sum().sort_values(by=production_column,ascending=False)
district_column
| Dist Name | RICE PRODUCTION (1000 tons) | WHEAT PRODUCTION (1000 tons) | KHARIF SORGHUM PRODUCTION (1000 tons) | RABI SORGHUM PRODUCTION (1000 tons) | SORGHUM PRODUCTION (1000 tons) | PEARL MILLET PRODUCTION (1000 tons) | MAIZE PRODUCTION (1000 tons) | FINGER MILLET PRODUCTION (1000 tons) | BARLEY PRODUCTION (1000 tons) | ... | SESAMUM PRODUCTION (1000 tons) | RAPESEED AND MUSTARD PRODUCTION (1000 tons) | SAFFLOWER PRODUCTION (1000 tons) | CASTOR PRODUCTION (1000 tons) | LINSEED PRODUCTION (1000 tons) | SUNFLOWER PRODUCTION (1000 tons) | SOYABEAN PRODUCTION (1000 tons) | OILSEEDS PRODUCTION (1000 tons) | SUGARCANE PRODUCTION (1000 tons) | COTTON PRODUCTION (1000 tons) | |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 10 | Midnapur | 98868.28 | 747.93 | 0.22 | 0.00 | 0.24 | 0.03 | 90.57 | 0.12 | 0.19 | ... | 1211.28 | 573.24 | 1.81 | 1.27 | 0.11 | 13.80 | 0.19 | 2361.16 | 1142.53 | 3.05 |
| 3 | Burdwan | 71422.15 | 694.80 | 0.00 | 0.00 | 0.00 | 0.44 | 20.17 | 0.00 | 4.94 | ... | 283.61 | 1142.19 | 0.17 | 0.00 | 0.77 | 1.69 | 0.24 | 1292.76 | 433.04 | 1.21 |
| 0 | 24 Parganas | 63011.99 | 1068.05 | 0.00 | 0.00 | 0.00 | 0.00 | 23.47 | 0.00 | 1.17 | ... | 288.19 | 1363.37 | 1.34 | 0.00 | 1.20 | 91.43 | 1.42 | 1458.49 | 297.95 | 9.57 |
| 2 | Birbhum | 42213.81 | 2815.82 | 1.74 | 0.00 | 2.10 | 0.71 | 27.29 | 0.00 | 15.95 | ... | 62.76 | 1092.26 | 0.25 | 0.00 | 1.89 | 0.76 | 2.85 | 950.54 | 530.78 | 0.24 |
| 1 | Bankura | 40165.20 | 738.44 | 0.62 | 0.00 | 0.68 | 0.86 | 75.16 | 0.04 | 2.36 | ... | 408.54 | 358.79 | 0.00 | 0.00 | 0.62 | 7.27 | 3.79 | 692.27 | 176.26 | 0.24 |
| 11 | Murshidabad | 37261.24 | 10582.36 | 5.48 | 0.00 | 5.62 | 0.53 | 418.09 | 0.00 | 325.77 | ... | 285.78 | 2399.09 | 0.04 | 0.00 | 6.70 | 1.19 | 0.01 | 2071.04 | 1675.65 | 1.72 |
| 14 | West Dinajpur | 35224.87 | 3679.53 | 0.00 | 0.02 | 0.02 | 0.00 | 3174.87 | 15.99 | 77.49 | ... | 34.25 | 1630.82 | 0.15 | 0.00 | 11.69 | 0.73 | 0.14 | 1160.18 | 184.29 | 0.13 |
| 6 | Hooghly | 30962.21 | 311.67 | 0.03 | 0.00 | 0.03 | 0.09 | 7.71 | 0.00 | 0.30 | ... | 669.14 | 310.91 | 0.00 | 0.00 | 0.00 | 1.20 | 0.59 | 1120.75 | 110.06 | 0.35 |
| 12 | Nadia | 28016.30 | 4951.66 | 0.06 | 0.00 | 0.06 | 0.00 | 160.88 | 0.00 | 53.34 | ... | 543.62 | 2254.79 | 0.42 | 0.00 | 15.52 | 9.07 | 0.11 | 2534.10 | 932.38 | 0.53 |
| 13 | Purulia | 23147.50 | 191.27 | 0.61 | 0.00 | 0.68 | 0.41 | 568.22 | 2.44 | 0.09 | ... | 13.81 | 39.48 | 0.30 | 0.00 | 4.97 | 0.60 | 0.22 | 104.31 | 158.09 | 0.36 |
| 9 | Malda | 22497.83 | 4163.46 | 0.00 | 0.00 | 0.00 | 0.00 | 1077.60 | 0.00 | 318.44 | ... | 4.65 | 1034.48 | 0.00 | 0.00 | 4.34 | 0.74 | 1.30 | 827.82 | 954.92 | 0.20 |
| 4 | Cooch Behar | 20949.15 | 1260.54 | 0.00 | 0.00 | 0.00 | 0.12 | 1044.98 | 0.26 | 15.20 | ... | 13.46 | 232.15 | 0.00 | 0.00 | 9.60 | 0.20 | 0.15 | 259.89 | 41.29 | 0.49 |
| 8 | Jalpaiguri | 17372.00 | 1275.53 | 0.00 | 0.00 | 0.00 | 0.00 | 772.30 | 8.07 | 22.73 | ... | 25.76 | 205.60 | 0.57 | 0.00 | 7.46 | 1.29 | 0.03 | 272.12 | 39.49 | 0.33 |
| 7 | Howrah | 10264.53 | 44.05 | 0.00 | 0.00 | 0.00 | 0.00 | 2.31 | 0.00 | 0.05 | ... | 62.70 | 28.83 | 0.00 | 0.00 | 0.01 | 1.87 | 0.00 | 205.40 | 24.77 | 0.93 |
| 5 | Darjeeling | 2855.20 | 178.75 | 0.00 | 0.00 | 0.00 | 0.00 | 2424.91 | 329.32 | 10.11 | ... | 3.67 | 11.39 | 0.01 | 0.00 | 1.21 | 0.15 | 8.08 | 12.74 | 4.66 | 0.07 |
15 rows × 24 columns
district_column_n=wb.groupby('State Name',as_index=False)[production_column].sum().sort_values(by=production_column,ascending=False)
district_column_n
| State Name | RICE PRODUCTION (1000 tons) | WHEAT PRODUCTION (1000 tons) | KHARIF SORGHUM PRODUCTION (1000 tons) | RABI SORGHUM PRODUCTION (1000 tons) | SORGHUM PRODUCTION (1000 tons) | PEARL MILLET PRODUCTION (1000 tons) | MAIZE PRODUCTION (1000 tons) | FINGER MILLET PRODUCTION (1000 tons) | BARLEY PRODUCTION (1000 tons) | ... | SESAMUM PRODUCTION (1000 tons) | RAPESEED AND MUSTARD PRODUCTION (1000 tons) | SAFFLOWER PRODUCTION (1000 tons) | CASTOR PRODUCTION (1000 tons) | LINSEED PRODUCTION (1000 tons) | SUNFLOWER PRODUCTION (1000 tons) | SOYABEAN PRODUCTION (1000 tons) | OILSEEDS PRODUCTION (1000 tons) | SUGARCANE PRODUCTION (1000 tons) | COTTON PRODUCTION (1000 tons) | |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 0 | West Bengal | 544232.26 | 32703.86 | 8.76 | 0.02 | 9.43 | 3.19 | 9888.53 | 356.24 | 848.13 | ... | 3911.22 | 12677.39 | 5.06 | 1.27 | 66.09 | 131.99 | 19.12 | 15323.57 | 6706.16 | 19.42 |
1 rows × 24 columns
melted_df = district_column_n.melt(id_vars="State Name", var_name="Crop", value_name="Production (1000 tons)")
# Sort the melted DataFrame by 'Production (1000 tons)' in descending order and select the top 10
top_10_crops = melted_df.sort_values('Production (1000 tons)', ascending=False).reset_index(drop='index').head(10)
top_10_crops.drop('State Name',axis=1).style.background_gradient(cmap='winter')
| Crop | Production (1000 tons) | |
|---|---|---|
| 0 | RICE PRODUCTION (1000 tons) | 544232.260000 |
| 1 | WHEAT PRODUCTION (1000 tons) | 32703.860000 |
| 2 | OILSEEDS PRODUCTION (1000 tons) | 15323.570000 |
| 3 | MINOR PULSES PRODUCTION (1000 tons) | 13188.910000 |
| 4 | RAPESEED AND MUSTARD PRODUCTION (1000 tons) | 12677.390000 |
| 5 | MAIZE PRODUCTION (1000 tons) | 9888.530000 |
| 6 | SUGARCANE PRODUCTION (1000 tons) | 6706.160000 |
| 7 | SESAMUM PRODUCTION (1000 tons) | 3911.220000 |
| 8 | GROUNDNUT PRODUCTION (1000 tons) | 2442.220000 |
| 9 | CHICKPEA PRODUCTION (1000 tons) | 2103.980000 |
results = []
# Iterate over production columns to find max values
for col in district_column.columns[1:]: # Skip 'Dist Name'
max_value = district_column[col].max()
dist_name = district_column[district_column[col] == max_value]['Dist Name'].values[0]
results.append({'Metric': col, 'Max Value': max_value, 'District Name': dist_name})
results_df = pd.DataFrame(results)
results_df.style.background_gradient(cmap='plasma')
| Metric | Max Value | District Name | |
|---|---|---|---|
| 0 | RICE PRODUCTION (1000 tons) | 98868.280000 | Midnapur |
| 1 | WHEAT PRODUCTION (1000 tons) | 10582.360000 | Murshidabad |
| 2 | KHARIF SORGHUM PRODUCTION (1000 tons) | 5.480000 | Murshidabad |
| 3 | RABI SORGHUM PRODUCTION (1000 tons) | 0.020000 | West Dinajpur |
| 4 | SORGHUM PRODUCTION (1000 tons) | 5.620000 | Murshidabad |
| 5 | PEARL MILLET PRODUCTION (1000 tons) | 0.860000 | Bankura |
| 6 | MAIZE PRODUCTION (1000 tons) | 3174.870000 | West Dinajpur |
| 7 | FINGER MILLET PRODUCTION (1000 tons) | 329.320000 | Darjeeling |
| 8 | BARLEY PRODUCTION (1000 tons) | 325.770000 | Murshidabad |
| 9 | CHICKPEA PRODUCTION (1000 tons) | 733.400000 | Nadia |
| 10 | PIGEONPEA PRODUCTION (1000 tons) | 34.940000 | Murshidabad |
| 11 | MINOR PULSES PRODUCTION (1000 tons) | 3308.870000 | Murshidabad |
| 12 | GROUNDNUT PRODUCTION (1000 tons) | 1192.480000 | Midnapur |
| 13 | SESAMUM PRODUCTION (1000 tons) | 1211.280000 | Midnapur |
| 14 | RAPESEED AND MUSTARD PRODUCTION (1000 tons) | 2399.090000 | Murshidabad |
| 15 | SAFFLOWER PRODUCTION (1000 tons) | 1.810000 | Midnapur |
| 16 | CASTOR PRODUCTION (1000 tons) | 1.270000 | Midnapur |
| 17 | LINSEED PRODUCTION (1000 tons) | 15.520000 | Nadia |
| 18 | SUNFLOWER PRODUCTION (1000 tons) | 91.430000 | 24 Parganas |
| 19 | SOYABEAN PRODUCTION (1000 tons) | 8.080000 | Darjeeling |
| 20 | OILSEEDS PRODUCTION (1000 tons) | 2534.100000 | Nadia |
| 21 | SUGARCANE PRODUCTION (1000 tons) | 1675.650000 | Murshidabad |
| 22 | COTTON PRODUCTION (1000 tons) | 9.570000 | 24 Parganas |
production_columns=[col for col in df.columns if 'PRODUCTION' in col]
production_data=df.groupby('State Name',as_index=False)[production_column].sum().sort_values(by=production_column,ascending=False)
result_data=[]
for col in production_data.columns[1:]:
max_value=production_data[col].max()
state_name=production_data[production_data[col]==max_value]['State Name'].values[0]
result_data.append({'Metric':col,'Max Value':max_value,'State Name':state_name})
result_data=pd.DataFrame(result_data)
result_data
| Metric | Max Value | State Name | |
|---|---|---|---|
| 0 | RICE PRODUCTION (1000 tons) | 544232.26 | West Bengal |
| 1 | WHEAT PRODUCTION (1000 tons) | 970210.07 | Uttar Pradesh |
| 2 | KHARIF SORGHUM PRODUCTION (1000 tons) | 116655.48 | Maharashtra |
| 3 | RABI SORGHUM PRODUCTION (1000 tons) | 85454.84 | Maharashtra |
| 4 | SORGHUM PRODUCTION (1000 tons) | 202055.20 | Maharashtra |
| 5 | PEARL MILLET PRODUCTION (1000 tons) | 118645.76 | Rajasthan |
| 6 | MAIZE PRODUCTION (1000 tons) | 75586.69 | Karnataka |
| 7 | FINGER MILLET PRODUCTION (1000 tons) | 63473.92 | Karnataka |
| 8 | BARLEY PRODUCTION (1000 tons) | 39496.06 | Uttar Pradesh |
| 9 | CHICKPEA PRODUCTION (1000 tons) | 97533.44 | Madhya Pradesh |
| 10 | PIGEONPEA PRODUCTION (1000 tons) | 31084.27 | Maharashtra |
| 11 | MINOR PULSES PRODUCTION (1000 tons) | 36509.70 | Orissa |
| 12 | GROUNDNUT PRODUCTION (1000 tons) | 98321.42 | Gujarat |
| 13 | SESAMUM PRODUCTION (1000 tons) | 4941.67 | Orissa |
| 14 | RAPESEED AND MUSTARD PRODUCTION (1000 tons) | 86067.89 | Rajasthan |
| 15 | SAFFLOWER PRODUCTION (1000 tons) | 8151.93 | Maharashtra |
| 16 | CASTOR PRODUCTION (1000 tons) | 26764.52 | Gujarat |
| 17 | LINSEED PRODUCTION (1000 tons) | 4513.49 | Madhya Pradesh |
| 18 | SUNFLOWER PRODUCTION (1000 tons) | 10785.87 | Karnataka |
| 19 | SOYABEAN PRODUCTION (1000 tons) | 136006.52 | Madhya Pradesh |
| 20 | OILSEEDS PRODUCTION (1000 tons) | 153594.79 | Madhya Pradesh |
| 21 | SUGARCANE PRODUCTION (1000 tons) | 506242.87 | Uttar Pradesh |
| 22 | COTTON PRODUCTION (1000 tons) | 31359.57 | Gujarat |
fig = px.scatter(
result_data,
x="State Name",
y="Max Value",
size="Max Value",
color="Metric",
hover_name="State Name",
title=" Production Values by State",
labels={"Max Value": "Production (1000 tons)", "State Name": "State"},
height=600,
width=1100,
size_max=60 # Increase this value for larger circles
)
fig.update_layout(showlegend=False)
fig.show()
data_column=df.groupby('Year',as_index=False)[production_column].sum().sort_values(by='Year')
data_column
| Year | RICE PRODUCTION (1000 tons) | WHEAT PRODUCTION (1000 tons) | KHARIF SORGHUM PRODUCTION (1000 tons) | RABI SORGHUM PRODUCTION (1000 tons) | SORGHUM PRODUCTION (1000 tons) | PEARL MILLET PRODUCTION (1000 tons) | MAIZE PRODUCTION (1000 tons) | FINGER MILLET PRODUCTION (1000 tons) | BARLEY PRODUCTION (1000 tons) | ... | SESAMUM PRODUCTION (1000 tons) | RAPESEED AND MUSTARD PRODUCTION (1000 tons) | SAFFLOWER PRODUCTION (1000 tons) | CASTOR PRODUCTION (1000 tons) | LINSEED PRODUCTION (1000 tons) | SUNFLOWER PRODUCTION (1000 tons) | SOYABEAN PRODUCTION (1000 tons) | OILSEEDS PRODUCTION (1000 tons) | SUGARCANE PRODUCTION (1000 tons) | COTTON PRODUCTION (1000 tons) | |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 0 | 1966 | 29133.23 | 10989.12 | 5486.70 | 3364.00 | 8860.70 | 4540.06 | 4832.23 | 1689.41 | 2293.08 | ... | 352.73 | 437.43 | -14.63 | 84.26 | 128.46 | -9.48 | -10.00 | 3666.49 | 9361.71 | 862.44 |
| 1 | 1967 | 35056.64 | 16006.30 | 6694.08 | 3288.30 | 9992.38 | 5246.99 | 6087.13 | 1726.90 | 3392.73 | ... | 372.63 | 563.77 | -10.78 | 96.76 | 204.54 | -9.98 | -10.00 | 4232.25 | 9574.38 | 953.06 |
| 2 | 1968 | 34701.52 | 17375.67 | 6080.97 | 3222.00 | 9312.97 | 3853.45 | 4485.59 | 1528.89 | 2261.35 | ... | 313.31 | 442.99 | -8.00 | 91.91 | 172.11 | -9.94 | -10.00 | 3835.23 | 12720.70 | 930.25 |
| 3 | 1969 | 35836.01 | 19232.36 | 6039.11 | 2930.90 | 8980.01 | 5516.42 | 4781.64 | 1659.85 | 2600.63 | ... | 339.80 | 536.73 | -17.15 | 97.43 | 199.50 | -9.32 | -10.00 | 5879.42 | 13719.57 | 937.48 |
| 4 | 1970 | 39324.12 | 22677.88 | 5816.05 | 2268.60 | 8084.65 | 8018.16 | 7125.88 | 1879.32 | 2753.04 | ... | 449.21 | 762.19 | 3.88 | 129.52 | 223.91 | 0.28 | 2.16 | 5530.06 | 12381.60 | 860.57 |
| 5 | 1971 | 39946.79 | 25280.89 | 5349.11 | 2401.40 | 7747.21 | 5250.84 | 4991.21 | 2006.80 | 2500.39 | ... | 382.82 | 660.50 | 15.56 | 138.82 | 273.67 | 0.37 | 0.00 | 7613.19 | 11664.01 | 1295.85 |
| 6 | 1972 | 37925.93 | 22879.56 | 5245.39 | 1508.00 | 6753.39 | 3935.34 | 5831.52 | 1695.74 | 2281.57 | ... | 285.13 | 853.68 | 94.35 | 120.03 | 229.34 | 0.05 | 0.02 | 5209.08 | 12573.28 | 1053.83 |
| 7 | 1973 | 42026.94 | 20833.39 | 5898.06 | 3117.30 | 9015.36 | 7266.05 | 5300.12 | 1879.76 | 2285.23 | ... | 368.66 | 763.88 | 167.48 | 213.11 | 316.52 | 1.16 | 1.09 | 7585.19 | 14392.62 | 1122.84 |
| 8 | 1974 | 37690.51 | 23052.96 | 7020.37 | 3183.40 | 10203.77 | 3388.46 | 5117.28 | 2027.00 | 3030.12 | ... | 305.65 | 1083.97 | 167.31 | 209.09 | 388.75 | 0.03 | 0.00 | 6806.88 | 14640.45 | 1236.49 |
| 9 | 1975 | 46144.36 | 27150.41 | 6965.04 | 2497.20 | 9462.24 | 5625.08 | 6515.49 | 2652.48 | 3107.80 | ... | 366.91 | 821.57 | 178.50 | 117.40 | 346.17 | 0.66 | 6.50 | 5909.22 | 14931.26 | 1077.49 |
| 10 | 1976 | 40226.45 | 27580.73 | 7300.23 | 3080.90 | 10381.13 | 5631.29 | 5775.28 | 1981.01 | 2291.18 | ... | 321.02 | 595.70 | 185.67 | 181.26 | 257.61 | 0.04 | 0.01 | 6730.09 | 15480.12 | 1074.44 |
| 11 | 1977 | 50439.41 | 30003.66 | 8573.67 | 3110.00 | 11683.67 | 4722.99 | 5490.49 | 3000.37 | 2248.46 | ... | 377.26 | 814.20 | 157.05 | 217.11 | 353.43 | 0.12 | 0.11 | 7741.30 | 18136.92 | 1254.38 |
| 12 | 1978 | 50868.02 | 34078.29 | 8165.40 | 3385.60 | 11551.00 | 5510.36 | 5667.17 | 3123.91 | 2059.29 | ... | 404.21 | 872.99 | 185.85 | 210.56 | 310.50 | 0.09 | 2.67 | 7836.97 | 15610.47 | 1325.75 |
| 13 | 1979 | 40560.64 | 30742.00 | 7828.16 | 3854.30 | 11682.46 | 4535.74 | 5379.91 | 2716.87 | 1610.68 | ... | 288.93 | 693.06 | 200.77 | 208.57 | 148.31 | 5.21 | 2.78 | 7754.69 | 12689.56 | 1278.65 |
| 14 | 1980 | 52796.25 | 35659.06 | 7772.94 | 2865.40 | 10638.34 | 5363.72 | 6248.26 | 2445.12 | 2291.28 | ... | 346.66 | 1140.37 | 309.56 | 184.00 | 210.30 | 67.22 | 0.01 | 7271.75 | 15153.07 | 1181.58 |
| 15 | 1981 | 52486.37 | 37154.29 | 8564.35 | 3095.30 | 11659.65 | 5360.47 | 6291.93 | 2873.61 | 1984.59 | ... | 388.75 | 1619.77 | 393.30 | 278.06 | 233.71 | 129.18 | 0.46 | 10232.67 | 18017.94 | 1340.80 |
| 16 | 1982 | 45081.34 | 42402.18 | 7632.60 | 3091.00 | 10723.60 | 5110.52 | 6115.98 | 2573.18 | 1834.85 | ... | 381.07 | 1564.50 | 342.10 | 323.82 | 238.68 | 223.12 | 478.37 | 8721.27 | 18617.78 | 1266.06 |
| 17 | 1983 | 57766.50 | 44859.22 | 8637.83 | 3279.00 | 11916.83 | 7603.26 | 7471.18 | 2978.23 | 1777.70 | ... | 404.88 | 1969.33 | 449.78 | 380.68 | 317.41 | 270.32 | 573.73 | 11514.37 | 17344.32 | 1072.95 |
| 18 | 1984 | 56451.83 | 43846.97 | 7775.80 | 3461.70 | 11237.50 | 6151.85 | 7758.14 | 2417.34 | 1521.29 | ... | 454.76 | 2546.05 | 469.52 | 439.14 | 260.33 | 363.20 | 923.00 | 11795.38 | 17009.60 | 1428.66 |
| 19 | 1985 | 62289.85 | 46811.09 | 7452.37 | 2650.30 | 10102.67 | 3664.26 | 6183.83 | 2483.44 | 1934.94 | ... | 428.37 | 2242.26 | 292.01 | 281.24 | 251.70 | 300.04 | 970.90 | 9921.94 | 16843.80 | 1477.05 |
| 20 | 1986 | 58592.01 | 43499.94 | 6471.93 | 2427.20 | 8899.13 | 4461.36 | 6664.06 | 2637.91 | 1650.74 | ... | 358.51 | 2224.27 | 304.10 | 215.93 | 234.39 | 434.30 | 826.99 | 10152.00 | 17952.70 | 1195.61 |
| 21 | 1987 | 54890.34 | 45504.65 | 8624.97 | 3382.40 | 12030.77 | 3355.98 | 5263.26 | 2283.46 | 1558.97 | ... | 406.18 | 2803.66 | 422.97 | 161.84 | 261.69 | 675.00 | 866.59 | 11686.28 | 19262.10 | 1105.92 |
| 22 | 1988 | 68923.09 | 53682.89 | 7336.61 | 3231.90 | 10568.84 | 7671.55 | 7717.07 | 2370.99 | 1702.71 | ... | 632.81 | 3846.54 | 414.64 | 387.20 | 237.26 | 429.50 | 1490.36 | 17248.55 | 20234.53 | 1474.57 |
| 23 | 1989 | 73530.86 | 52123.31 | 9345.34 | 3654.52 | 13007.26 | 6730.73 | 9045.98 | 2731.76 | 1477.92 | ... | 698.08 | 3618.10 | 461.56 | 477.70 | 226.50 | 323.98 | 1690.51 | 16330.07 | 22000.56 | 1945.94 |
| 24 | 1990 | 71613.37 | 54449.14 | 8247.02 | 3271.12 | 11582.98 | 6998.45 | 8319.23 | 2080.87 | 1631.06 | ... | 814.47 | 4552.98 | 326.91 | 828.54 | 293.20 | 849.08 | 2575.99 | 17864.14 | 24073.07 | 1729.39 |
| 25 | 1991 | 71858.31 | 55378.51 | 5712.65 | 2326.94 | 8001.14 | 4665.81 | 7409.00 | 2353.91 | 1695.24 | ... | 674.41 | 5197.85 | 212.40 | 686.80 | 256.16 | 887.67 | 2457.90 | 17662.19 | 25666.70 | 1683.73 |
| 26 | 1992 | 70205.91 | 56665.30 | 9422.41 | 3429.60 | 12852.02 | 9082.92 | 9448.88 | 2487.13 | 1506.38 | ... | 840.06 | 4276.52 | 356.53 | 686.77 | 248.35 | 971.77 | 3364.93 | 20033.99 | 23642.98 | 1955.51 |
| 27 | 1993 | 77179.69 | 59400.67 | 7304.85 | 4116.84 | 11421.67 | 5197.32 | 8922.89 | 2592.15 | 1322.21 | ... | 683.40 | 4752.64 | 522.48 | 720.83 | 295.84 | 1238.55 | 4722.13 | 21311.61 | 24187.27 | 1903.01 |
| 28 | 1994 | 79273.91 | 65462.30 | 5765.74 | 3001.03 | 9018.11 | 7215.85 | 8394.53 | 2250.94 | 1691.17 | ... | 723.57 | 5262.02 | 422.66 | 157.45 | 299.53 | 1065.46 | 3899.72 | 21145.20 | 28496.59 | 1606.59 |
| 29 | 1995 | 72615.41 | 61157.13 | 5854.91 | 3602.88 | 9725.29 | 5477.49 | 8737.49 | 2393.76 | 1493.37 | ... | 692.12 | 5462.46 | 373.99 | 859.32 | 235.60 | 1199.66 | 5069.48 | 22163.81 | 29164.69 | 2200.37 |
| 30 | 1996 | 78120.14 | 68631.56 | 6971.92 | 3971.08 | 10952.98 | 7872.34 | 9836.78 | 2154.45 | 1444.89 | ... | 687.50 | 6189.70 | 443.92 | 897.49 | 276.60 | 1183.80 | 5348.47 | 24112.65 | 27444.29 | 2420.62 |
| 31 | 1997 | 80504.09 | 65085.19 | 5105.31 | 2542.60 | 7727.60 | 7719.64 | 10375.90 | 1960.93 | 1693.80 | ... | 626.29 | 4210.55 | 120.77 | 1001.59 | 214.32 | 739.10 | 6395.28 | 21090.35 | 27612.42 | 1855.14 |
| 32 | 1998 | 82394.23 | 70057.41 | 5366.80 | 3111.04 | 8616.86 | 7097.60 | 10325.04 | 2471.65 | 1425.28 | ... | 577.99 | 5096.13 | 230.92 | 993.94 | 251.44 | 818.36 | 6941.60 | 24400.08 | 29533.07 | 2102.13 |
| 33 | 1999 | 86527.07 | 76209.47 | 4965.31 | 3750.63 | 8788.53 | 5900.35 | 10768.78 | 2376.65 | 1412.58 | ... | 536.30 | 5290.06 | 259.71 | 765.06 | 249.69 | 672.33 | 7055.96 | 19335.19 | 30489.42 | 1950.34 |
| 34 | 2000 | 83476.59 | 69617.04 | 4617.47 | 2938.68 | 7556.21 | 6903.59 | 11665.88 | 2719.25 | 1424.68 | ... | 545.65 | 4123.99 | 201.66 | 844.47 | 164.58 | 626.82 | 5239.11 | 17998.41 | 30147.27 | 1628.93 |
| 35 | 2001 | 91556.12 | 72186.10 | 4287.29 | 3286.77 | 7573.95 | 8509.41 | 12339.00 | 2430.45 | 1420.48 | ... | 739.96 | 4734.67 | 220.18 | 826.90 | 181.65 | 673.78 | 5896.75 | 20573.98 | 30095.87 | 1676.30 |
| 36 | 2002 | 69917.86 | 65404.66 | 4324.62 | 2750.30 | 7067.04 | 4953.81 | 10483.11 | 1399.26 | 1377.04 | ... | 449.21 | 3479.19 | 179.15 | 578.47 | 158.19 | 856.84 | 4542.82 | 14612.60 | 28905.09 | 1496.10 |
| 37 | 2003 | 84971.15 | 72317.08 | 4865.17 | 1876.08 | 6641.16 | 12165.07 | 13949.32 | 1959.68 | 1300.09 | ... | 825.92 | 5971.14 | 136.34 | 712.51 | 163.37 | 913.62 | 7634.82 | 25543.15 | 23810.49 | 2331.39 |
| 38 | 2004 | 80951.64 | 69013.36 | 4021.07 | 3037.93 | 7050.69 | 7925.63 | 13125.05 | 2398.41 | 1149.85 | ... | 739.83 | 7007.32 | 179.54 | 804.78 | 139.84 | 1125.80 | 6682.77 | 24653.46 | 24070.93 | 2907.04 |
| 39 | 2005 | 87315.59 | 68379.02 | 3876.97 | 3343.07 | 7219.76 | 7148.42 | 14553.86 | 2413.40 | 1195.60 | ... | 748.60 | 7943.48 | 230.01 | 945.24 | 150.08 | 1299.10 | 8514.67 | 28187.86 | 28225.44 | 3149.82 |
| 40 | 2006 | 89984.14 | 77709.50 | 3731.29 | 3226.78 | 6958.60 | 8382.21 | 14222.14 | 1398.54 | 1332.90 | ... | 780.64 | 7029.37 | 238.96 | 809.49 | 138.39 | 1069.00 | 8761.05 | 24825.53 | 33956.80 | 3674.08 |
| 41 | 2007 | 93002.77 | 80126.73 | 4133.71 | 3608.74 | 7749.29 | 10060.64 | 18908.40 | 2165.25 | 1227.92 | ... | 899.08 | 5407.15 | 225.87 | 1059.40 | 129.66 | 1309.23 | 10781.17 | 29765.84 | 35457.94 | 4383.78 |
| 42 | 2008 | 95226.84 | 81613.21 | 2747.30 | 3916.36 | 6880.79 | 8998.39 | 18206.51 | 1981.27 | 1694.95 | ... | 745.03 | 6835.33 | 170.95 | 1161.53 | 125.56 | 1037.67 | 8952.14 | 25550.46 | 28864.83 | 3786.71 |
| 43 | 2009 | 88070.69 | 81022.42 | 2399.12 | 3778.32 | 6576.27 | 6597.51 | 16025.69 | 1889.29 | 1311.67 | ... | 650.74 | 6287.93 | 167.72 | 1008.08 | 130.93 | 763.38 | 9837.74 | 23867.87 | 29682.38 | 3809.38 |
| 44 | 2010 | 94300.23 | 93438.55 | 3409.57 | 3568.25 | 6976.15 | 12376.91 | 22120.65 | 2281.21 | 1709.20 | ... | 1007.54 | 7495.54 | 149.98 | 1349.78 | 106.70 | 639.30 | 12790.53 | 32662.73 | 34099.05 | 4825.53 |
| 45 | 2011 | 102216.27 | 100269.99 | 3219.25 | 2672.24 | 5891.51 | 12413.46 | 21864.68 | 2049.04 | 1643.72 | ... | 856.81 | 6374.63 | 114.36 | 2315.28 | 132.66 | 495.12 | 12165.17 | 29444.86 | 38988.84 | 5009.24 |
| 46 | 2012 | 104237.62 | 97177.86 | 2885.20 | 2583.01 | 5553.00 | 8820.76 | 22911.10 | 1645.51 | 1810.33 | ... | 804.62 | 7812.51 | 96.80 | 1963.29 | 121.56 | 515.54 | 15235.66 | 21955.79 | 35213.44 | 4200.33 |
| 47 | 2013 | 109552.42 | 102506.18 | 2671.98 | 3564.29 | 6264.41 | 9930.81 | 26302.00 | 2137.59 | 1804.10 | ... | 727.49 | 7252.89 | 125.03 | 1764.21 | 109.78 | 476.37 | 11004.62 | 34919.91 | 36270.47 | 5982.39 |
| 48 | 2014 | 112551.62 | 84866.58 | 2433.30 | 3305.56 | 5747.18 | 9413.04 | 24732.81 | 2132.44 | 1536.47 | ... | 894.94 | 5940.38 | 69.69 | 1853.14 | 111.49 | 377.68 | 9730.87 | 26733.04 | 38374.91 | 4775.65 |
| 49 | 2015 | 98820.51 | 93824.98 | 1697.37 | 2123.17 | 3825.01 | 7805.13 | 22118.14 | 1913.92 | 1429.72 | ... | 883.51 | 6562.40 | 37.56 | 1742.00 | 84.69 | 226.29 | 7586.38 | 21787.71 | 33160.24 | 3789.06 |
| 50 | 2016 | 117614.10 | 112962.82 | 1979.27 | 2984.57 | 5002.37 | 9802.02 | 27182.66 | 1095.72 | 1923.68 | ... | 786.61 | 7872.89 | 92.65 | 1373.79 | 141.80 | 228.06 | 13133.13 | 4036.67 | 32224.82 | 5415.75 |
| 51 | 2017 | 114319.61 | 110418.21 | 2315.84 | 3476.25 | 5820.90 | 9282.15 | 32725.03 | 2318.14 | 1922.12 | ... | 835.00 | 8315.89 | 56.32 | 1720.04 | 165.00 | 252.96 | 11062.44 | 4546.56 | 37040.79 | 5722.10 |
52 rows × 24 columns
df_melted_data=data_column.melt(id_vars=['Year'],var_name='Crop',value_name="Production (1000 tons)")
df_melted_data
| Year | Crop | Production (1000 tons) | |
|---|---|---|---|
| 0 | 1966 | RICE PRODUCTION (1000 tons) | 29133.23 |
| 1 | 1967 | RICE PRODUCTION (1000 tons) | 35056.64 |
| 2 | 1968 | RICE PRODUCTION (1000 tons) | 34701.52 |
| 3 | 1969 | RICE PRODUCTION (1000 tons) | 35836.01 |
| 4 | 1970 | RICE PRODUCTION (1000 tons) | 39324.12 |
| ... | ... | ... | ... |
| 1191 | 2013 | COTTON PRODUCTION (1000 tons) | 5982.39 |
| 1192 | 2014 | COTTON PRODUCTION (1000 tons) | 4775.65 |
| 1193 | 2015 | COTTON PRODUCTION (1000 tons) | 3789.06 |
| 1194 | 2016 | COTTON PRODUCTION (1000 tons) | 5415.75 |
| 1195 | 2017 | COTTON PRODUCTION (1000 tons) | 5722.10 |
1196 rows × 3 columns
fig = px.line(df_melted_data, x="Year", y="Production (1000 tons)", color="Crop",
title="Crop Production Over Years", labels={"Production (1000 tons)": "Production"},
height=650,
width=1250)
fig.update_traces(mode='lines+markers')
fig.show()
# Scatter Plot: Rice Area vs. Rice Yield
fig_scatter = px.scatter(df, x='RICE AREA (1000 ha)', y='RICE YIELD (Kg per ha)',
title='Rice Area vs. Rice Yield',
color='State Name', # Color by state
labels={'RICE AREA (1000 ha)': 'Rice Area (1000 ha)', 'RICE YIELD (Kg per ha)': 'Rice Yield (Kg/ha)'})
fig_scatter.show()
correlation = df['RICE AREA (1000 ha)'].corr(df['RICE YIELD (Kg per ha)'])
print(f"Correlation between Rice Area and Rice Yield: {correlation:.2f}")
Correlation between Rice Area and Rice Yield: 0.22
area_column=[col for col in wb.columns if 'AREA' in col]
area_column
['RICE AREA (1000 ha)', 'WHEAT AREA (1000 ha)', 'KHARIF SORGHUM AREA (1000 ha)', 'RABI SORGHUM AREA (1000 ha)', 'SORGHUM AREA (1000 ha)', 'PEARL MILLET AREA (1000 ha)', 'MAIZE AREA (1000 ha)', 'FINGER MILLET AREA (1000 ha)', 'BARLEY AREA (1000 ha)', 'CHICKPEA AREA (1000 ha)', 'PIGEONPEA AREA (1000 ha)', 'MINOR PULSES AREA (1000 ha)', 'GROUNDNUT AREA (1000 ha)', 'SESAMUM AREA (1000 ha)', 'RAPESEED AND MUSTARD AREA (1000 ha)', 'SAFFLOWER AREA (1000 ha)', 'CASTOR AREA (1000 ha)', 'LINSEED AREA (1000 ha)', 'SUNFLOWER AREA (1000 ha)', 'SOYABEAN AREA (1000 ha)', 'OILSEEDS AREA (1000 ha)', 'SUGARCANE AREA (1000 ha)', 'COTTON AREA (1000 ha)', 'FRUITS AREA (1000 ha)', 'VEGETABLES AREA (1000 ha)', 'FRUITS AND VEGETABLES AREA (1000 ha)', 'POTATOES AREA (1000 ha)', 'ONION AREA (1000 ha)', 'FODDER AREA (1000 ha)']
area_column_data=df.groupby('State Name',as_index=False)[area_column].sum().sort_values(by=area_column,ascending=False)
area_column_data
| State Name | RICE AREA (1000 ha) | WHEAT AREA (1000 ha) | KHARIF SORGHUM AREA (1000 ha) | RABI SORGHUM AREA (1000 ha) | SORGHUM AREA (1000 ha) | PEARL MILLET AREA (1000 ha) | MAIZE AREA (1000 ha) | FINGER MILLET AREA (1000 ha) | BARLEY AREA (1000 ha) | ... | SOYABEAN AREA (1000 ha) | OILSEEDS AREA (1000 ha) | SUGARCANE AREA (1000 ha) | COTTON AREA (1000 ha) | FRUITS AREA (1000 ha) | VEGETABLES AREA (1000 ha) | FRUITS AND VEGETABLES AREA (1000 ha) | POTATOES AREA (1000 ha) | ONION AREA (1000 ha) | FODDER AREA (1000 ha) | |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 19 | West Bengal | 279491.45 | 15500.29 | 18.40 | 0.06 | 19.75 | 5.71 | 3434.61 | 327.95 | 1051.47 | ... | 29.61 | 20300.76 | 1037.86 | 51.99 | 4815.92 | 27656.60 | 32505.49 | 12191.16 | 483.97 | -106.91 |
| 17 | Uttar Pradesh | 269169.06 | 418455.35 | 24392.94 | 0.00 | 24803.58 | 47885.77 | 55127.87 | 333.72 | 29135.26 | ... | 819.27 | 43047.07 | 93073.41 | 1090.35 | 10952.97 | 25228.66 | 36272.57 | 18358.69 | 1012.88 | 35534.92 |
| 12 | Orissa | 225285.64 | 1568.75 | 978.32 | 0.00 | 993.61 | 255.05 | 8637.29 | 10853.31 | 0.00 | ... | 21.84 | 39682.05 | 2018.92 | 1660.49 | 12050.33 | 30205.39 | 40310.93 | 621.53 | 1784.09 | -312.00 |
| 3 | Chhattisgarh | 184036.34 | 5093.80 | 569.86 | 28.11 | 620.68 | 4.24 | 5089.80 | 588.21 | 331.03 | ... | 1565.97 | 17267.08 | 389.92 | 26.02 | 710.47 | 3377.84 | 4088.23 | 374.07 | 180.17 | 37.01 |
| 2 | Bihar | 180424.25 | 95053.36 | 135.55 | 0.13 | 135.79 | 83.27 | 33619.25 | 2319.19 | 4038.64 | ... | 5.62 | 5536.29 | 6750.22 | 1.57 | 5468.52 | 12105.66 | 17573.54 | 5227.58 | 547.11 | 405.17 |
| 0 | Andhra Pradesh | 128980.52 | 98.80 | 9932.71 | 13523.62 | 23456.52 | 9191.32 | 4393.90 | 6659.47 | 0.00 | ... | 18.19 | 87223.49 | 8428.76 | 18274.69 | 19921.48 | 5587.32 | 25508.58 | 36.95 | 883.17 | 5951.31 |
| 1 | Assam | 121967.69 | 3338.05 | 0.00 | 0.00 | 0.00 | 0.00 | 993.03 | 0.00 | 0.00 | ... | 0.00 | 14176.64 | 578.36 | 137.76 | 3687.31 | 7868.47 | 11093.01 | 3114.10 | 248.53 | 136.24 |
| 15 | Tamil Nadu | 112459.14 | 14.58 | 21597.19 | 5327.94 | 26959.81 | 12584.76 | 5257.44 | 9463.54 | 0.00 | ... | 94.21 | 56225.64 | 11949.53 | 11232.87 | 12621.38 | 8108.47 | 20729.34 | 400.05 | 1211.67 | 6594.76 |
| 13 | Punjab | 95821.99 | 159102.06 | 80.92 | 0.00 | 81.22 | 2677.30 | 14140.12 | 9.40 | 2338.98 | ... | 0.06 | 8697.93 | 5531.39 | 28579.70 | 2364.05 | 4219.59 | 6583.33 | 1982.38 | 79.00 | 29585.49 |
| 10 | Madhya Pradesh | 82342.64 | 201914.09 | 68644.32 | 130.49 | 68774.82 | 9778.06 | 39046.69 | 153.19 | 6046.81 | ... | 137165.32 | 189945.92 | 2908.57 | 30653.05 | 2184.57 | 7148.39 | 9332.60 | 1932.88 | 1329.12 | 32454.03 |
| 11 | Maharashtra | 77139.46 | 48809.70 | 110830.43 | 169314.99 | 280145.41 | 81080.01 | 16378.97 | 9117.78 | 3.90 | ... | 54582.37 | 134069.16 | 24847.84 | 154319.82 | 10248.41 | 7599.86 | 17848.30 | 577.13 | 3895.57 | 29725.43 |
| 7 | Jharkhand | 69169.78 | 3039.87 | 25.08 | 0.00 | 25.08 | 91.64 | 6615.52 | 2578.99 | 518.80 | ... | 3.86 | 2826.29 | 156.77 | 0.13 | 203.30 | 2917.82 | 3120.88 | 1388.08 | 114.15 | -39.74 |
| 8 | Karnataka | 64104.46 | 14400.41 | 31799.10 | 65646.28 | 97453.86 | 22788.74 | 26161.97 | 49839.37 | 0.00 | ... | 3500.48 | 92527.23 | 14002.22 | 37689.74 | 9544.18 | 9472.33 | 19015.80 | 1457.87 | 4196.42 | 3588.23 |
| 16 | Telangana | 63458.94 | 591.31 | 23201.61 | 21712.25 | 44913.82 | 5602.85 | 20348.21 | 1899.97 | 0.00 | ... | 2149.76 | 35293.43 | 2450.59 | 29639.37 | 3776.93 | 2388.52 | 6165.06 | 63.06 | 452.65 | 792.60 |
| 5 | Haryana | 39273.38 | 98464.84 | 6589.84 | 0.00 | 6689.74 | 35675.69 | 2905.05 | 2.20 | 3921.86 | ... | 0.00 | 21465.54 | 6817.17 | 23062.49 | 651.00 | 2097.96 | 2749.63 | 536.77 | 146.99 | 23854.64 |
| 4 | Gujarat | 32017.85 | 36657.39 | 25818.13 | 5067.82 | 32246.90 | 65116.95 | 19253.28 | 1853.80 | 139.80 | ... | 746.19 | 130724.71 | 7389.78 | 94325.68 | 5665.46 | 6182.75 | 11494.93 | 1637.61 | 1386.00 | 42778.35 |
| 9 | Kerala | 27879.92 | 0.00 | 109.60 | 0.00 | 110.41 | 0.00 | 0.37 | 94.25 | 0.00 | ... | 0.02 | 34348.94 | 323.43 | 275.31 | 17260.41 | 11020.88 | 28280.89 | 5.74 | 2.18 | 120.53 |
| 18 | Uttarakhand | 11601.72 | 14841.57 | 2.80 | 0.00 | 2.80 | 5.55 | 1630.82 | 4528.63 | 1150.91 | ... | 963.98 | 993.53 | 2207.31 | 0.20 | 359.51 | 913.37 | 1310.61 | 467.78 | 55.27 | 663.22 |
| 14 | Rajasthan | 7366.90 | 109891.84 | 40726.33 | 4.64 | 40862.32 | 243161.92 | 47418.96 | 0.00 | 17222.25 | ... | 19052.48 | 142433.47 | 1234.14 | 21359.72 | 962.12 | 3750.76 | 4713.29 | 225.31 | 1266.12 | 135865.64 |
| 6 | Himachal Pradesh | 4274.54 | 17341.53 | -32.53 | -40.00 | -32.53 | -11.16 | 14438.60 | 253.36 | 1452.34 | ... | -22.84 | 799.25 | 135.68 | 3.61 | 1690.89 | 1147.95 | 2875.99 | 697.72 | 13.01 | 322.67 |
20 rows × 30 columns
fig = px.bar(area_column_data, x='State Name', y=area_column, title="Crop Areas Across States", barmode='stack')
fig.update_layout(
xaxis_title='State',
yaxis_title='Area (1000 ha)',
barmode='stack',
plot_bgcolor='white', # Set background color to white
title_x=0.5, # Center title
title_y=0.95, # Adjust title position
showlegend=True,
bargap=0.05, # Reduce the gap between bars (bars will be wider)
bargroupgap=0.1,
# Make the bars a bit wider
height=600, # Set a fixed height for the chart
width=1000 # Set a fixed width for the chart
)
fig.show()